﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;

namespace Nojin.Deployment
{
    public class Texts
    {

        static Texts()
        {
            // If you want to use this component for persian version, call SetPersianTexts.
            SetPersianTexts();
        }       

        public static Languges Language
        {
            get { return Texts.language; }
            set { Texts.language = value; }
        } static Languges language;

        public static string GetShortDateText(DateTime? date)
        {

            if (date != null)
            {
                return "";
            }

            if (language == Languges.Persian)
            {
                PersianCalendar calendar = new PersianCalendar();
                int year = calendar.GetYear(date.Value);
                int month = calendar.GetMonth(date.Value);
                int day = calendar.GetDayOfMonth(date.Value);
                return string.Format("{0}/{1}/{2}", year, month, day);
            }
            else
                return date.Value.ToShortDateString();
        }

        public static void SetEnglishTexts()
        {
            language = Languges.English;
        }

        public static void SetPersianTexts()
        {
            language = Languges.Persian;
            DoYouWantToCancelDownloading = "آيا ميخواهيد دريافت فايلها را لغو شود?";
            DownloadingNewVersionIsArbitary = "دريافت نسخه جديد ضروری است و بدون آن برنامه اجرا نمیشود.";
            CancelingDownloadOfNewVersion = "لغو دریافت نسخه جدید";
            FileSizePattern = "{0} کيلو بايت";
            NewVersionIsDownloadedAndIsReadyToInstall = "نسخه جدید دانلود شده است و آماده نصب است.";
            InstallIsCompletedAndYouMustReopenProgram = "نصب نسخه جدید صورت گرفته است. با بستن و بازکردن برنامه نسخه جدید اجرا خواهد شد.";
        }

        public static string DoYouWantToCancelDownloading { get; private set; }
        public static string DownloadingNewVersionIsArbitary { get; private set; }
        public static string CancelingDownloadOfNewVersion { get; private set; }
        public static string FileSizePattern { get; private set; }

        public static string NewVersionIsDownloadedAndIsReadyToInstall { get; private set; }
        public static string InstallIsCompletedAndYouMustReopenProgram { get; private set; }
    }

    public enum Languges
    {
        English,
        Persian
    }
}
